Unit testing 单元测试

当集成 Spring 时,使用标准的 Activiti 测试工具类是非常容易的对业务流程进行测试。 下面的例子展示了如何在一个典型的基于Spring单元测试测试业务流程:

  1. @RunWith(SpringJUnit4ClassRunner.class)
  2. @ContextConfiguration("classpath:org/activiti/spring/test/junit4/springTypicalUsageTest-context.xml")
  3. public class MyBusinessProcessTest {
  4. @Autowired
  5. private RuntimeService runtimeService;
  6. @Autowired
  7. private TaskService taskService;
  8. @Autowired
  9. @Rule
  10. public ActivitiRule activitiSpringRule;
  11. @Test
  12. @Deployment
  13. public void simpleProcessTest() {
  14. runtimeService.startProcessInstanceByKey("simpleProcess");
  15. Task task = taskService.createTaskQuery().singleResult();
  16. assertEquals("My Task", task.getName());
  17. taskService.complete(task.getId());
  18. assertEquals(0, runtimeService.createProcessInstanceQuery().count());
  19. }
  20. }

注意对于这种方式,你需要在 Spring 配置中(在上文的例子中它是自动注入的)定义一个 org.activiti.engine.test.ActivitiRulebean

  1. <bean id="activitiRule" class="org.activiti.engine.test.ActivitiRule">
  2. <property name="processEngine" ref="processEngine" />
  3. </bean>